A. Field of the Invention
The invention is related generally to a system for building data compression devices and more particularly, to a system for building a data compression device for coding of images.
B. Description of the Prior Art
With the advent of high speed low cost microprocessors, there has been a rapid growth in the development of digital. communication devices for the transmission of print, voice and video. The rapid growth and demand for such devices has quickly out paced the ability of the present communications hardware infrastructure to provide communications bandwidth to meet the digital communication demands. In the field of digital communications systems, the amount of data capable of being transmitted through a given media over time is referred to as bandwidth.
One solution to expand available bandwidth is through the implementation of data compression techniques to reduce the amount of digital data needed to represent the information transmitted. Digital compression techniques currently represent the most common solution for increasing the throughput of digital communications hardware. Given the variations in hardware technology and digital computer platforms that exist in various industries and internationally, standards have been established to provide certain data compression techniques that may be implemented universally.
In field of image information systems where images or pictures are represented in a digital form by data, numerous commercially accepted standards have been developed for compressing such digital images. One such standard was developed by the Joint Photographic Experts Group (JPEG), an international body formed to establish an international standard for the compression of grayscale and color images. This compression standard has come to be known as the JPEG standard in which digital images are compressed through an encoder and represented in a compressed form known as JPEG format. Images stored in the JPEG format have a file size which is significantly smaller than the file size of the same digital image stored in an uncompressed form. The JPEG standard was recommended by the International Telegraph and Telephone Consultative Committee (CCITT) as recommendation T.81 on Sep. 18, 1992 and was published by the International Standards Organization and International Electrotechnical Commission (ISO/IEC) as standard ISO 10918:1 entitled, xe2x80x9cINFORMATION TECHNOLOGYxe2x80x94DIGITAL COMPRESSION AND CODING OF CONTINUOUS-TONE STILL IMAGESxe2x80x94REQUIREMENTS AND GUIDELINES ITU-T Rec. T.81 | ISO 10918:1xe2x80x9d.
The JPEG standard actually comprises two classes of compression processes, namely, lossy and lossless compression techniques. In lossy compression, substantial compression is achieved while some loss of the image data occurs when the image is subsequently decompressed. However, such losses in image quality may be so minimal that they are generally not considered discernable when viewed by the naked eye. Those processes that are based upon the discrete cosine transform (DCT) are considered lossy. An encoder 20 (FIG. 1) using lossy compression generally includes a DCT engine 21, a quantizer 22 and an entropy coder 26. These functions are defined in the JPEG standard. In the second class, lossless compression is achieved using an alternative technique to DCT in which no loss in image quality occurs when the image is decompressed. However, lossless compression does not achieve compression ratios as large as lossy compression. Thus, digital images when compressed under a lossless compression will have a greater file size and will take more time to transfer through a communications line than the same image when compressed over the lossy standard. Except in fields where image accuracy is desired, such as, in medical imaging where any change in the representation of an image containing human tissue may affect the diagnosis of an illness by a medical professional, most image applications can utilize the lossy compression standard for digital transmission.
In some real time applications, such as, transmitting digital images between facsimile machines, the JPEG standard for compressing digital images is more than capable of simultaneously compressing the data in conjunction with the transmission of the images. This is due to the fact that the narrow bandwidth of conventional analog phone lines for digital data transmission is inherently slower than other digital communications methods and provides more than adequate time for the simultaneous JPEG compression processes to occur in real time. However, in other hardware communications systems that have improved digital throughput or have been designed for digital transmission, such as computer buses and networks as well as digital television systems, the availability and need for even greater throughput and speed is in demand. In communications systems such as digital television transmission, it will be realized by those skilled in the art that the Moving Pictures Experts Group (MPEG) standard for compressing and transmitting moving picture images which is based upon the JPEG standard is also limited by this time constraint. Moreover, faster methods are needed for compressing and storing JPEG images prior to when image data is transferred, for example, to personal computers (PCs) from peripheral devices or for use with the storing of images in digital cameras and the like. When conventional JPEG compression processes are used in such environments in real time, the compression time needed to convert digital images into the JPEG standard using conventional JPEG compression methods can slow down the overall transmission rate of such high speed communications systems.
Thus, it may be appreciated that the time saved in transferring such compressed files has been reduced in part by the time needed by conventional compression techniques to encode a digital image into the JPEG file format. Such time constraints limit the effectiveness of the JPEG file format in applications that require the compression and transmission to occur quickly, simultaneously and/or in real time.
Thus, the need exists for encoding and decoding devices and processes that can convert digital images between an uncompressed and compressed file standard, such as JPEG or MPEG, in real time and without delay while operating with high speed communications systems.
It is an object of the present invention to provide an image compression device and process that improves the conversion rates for encoding digital images between an uncompressed and compressed data standard.
It is another object of the present invention to provide an image compression device and process that improves conversion rates for digital transmission of compressed images using a lossy compression process.
It is yet another object of the present invention to provide an image compression device and process that reduces the time required for the discrete cosine transform (DCT) in the lossy compression process used to produce a compressed image under the JPEG standard.
An advantage of the present invention is the ability to provide a good quality image from a lossy compression process having improved compression rates.
Another advantage of the present invention is improved timing by eliminating DCT cycles not needed, but performed during conventional lossy compression.
A further advantage of the present invention is that it can be manufactured on an economical basis and has portability between various communication platforms.
A further advantage of the present invention is the capability to discriminate between types of uncompressed digital image data and to provide a lossy coding stage for a first set of image data and to perform conventional DCT on the second set of image data, thereby eliminating the need for use of the DCT on the first set of data.
It is a feature of the present invention to provide a compression device and process that substantially improves the transmission of data across communications link and that significantly increases the ability to establish and-maintain the realtime communication of images.
The present invention is embodied in a data compression system for transforming a data set from an uncompressed standard to a compressed standard in which the data set when stored on a storage media under the compressed standard requires less space than the data set when stored under the uncompressed standard. The system comprises a discrete cosine transform engine including means for apportioning the data set when uncompressed into a plurality of uncompressed blocks; an inference engine adapted to divide the blocks into predicted blocks and unpredicted blocks by manipulating each of the blocks according to predetermined criteria and comparing each of the manipulated blocks to a predetermined set of compressed block standards; means for assigning a selected one of a plurality of compressed blocks to each of the predicted blocks based upon the comparisons made by the inference engine; and the discrete cosine transform engine further including means for transforming said unpredicted blocks into compressed blocks; such that the data set may be stored under the compressed standard in which assigning the selected compressed block to the predicted block generally appears as though the predicted block was compressed by the transforming means.
The present invention includes a method of data compression for transforming a data set from an uncompressed standard to a compressed standard in which the data set when stored on a storage media under the compressed standard requires less space than the data set when stored under the uncompressed standard. The method comprises the steps of apportioning the data set when uncompressed into a plurality of uncompressed blocks; dividing the blocks into predicted blocks and unpredicted blocks by manipulating each of the blocks according to predetermined criteria; comparing each of the manipulated blocks to a predetermined set of compressed block standards; assigning a selected one of a plurality of compressed blocks to each of the predicted blocks based upon the comparisons; and transforming by a discrete cosine transform the unpredicted blocks into compressed blocks.
The present invention includes a data compression apparatus for transforming a data set from an uncompressed standard to a compressed standard in which the data set when stored on a storage media under the compressed standard requires less space than the data set when stored under the uncompressed standard. The apparatus comprises a discrete cosine transform engine including means for apportioning the data set when uncompressed into a plurality of uncompressed blocks; an inference engine adapted to divide the blocks into predicted blocks and unpredicted blocks by manipulating each of the blocks according to predetermined criteria and comparing each of the manipulated blocks to a predetermined set of compressed block standards; means for assigning a selected one of a plurality of compressed blocks to each of the predicted blocks based upon the comparisons made by the inference engine; and the discrete cosine transform engine further including means for transforming the unpredicted blocks into compressed blocks; such that the data set may be stored under the compressed standard in which assigning the selected compressed block to the predicted block generally appears as though the predicted block was compressed by the transforming means.
In another preferred embodiment, the present invention is embodied in a data compression system for transforming a digital image from an Y, Cb, Cr image data to a JPEG image data in which the digital image when stored on a storage media under the JPEG image data requires less space than the digital image when stored under the Y, Cb, Cr image data. The system comprises a discrete cosine transform engine including means for apportioning the digital image when uncompressed into a plurality of uncompressed 8xc3x978 arrays; an inference engine adapted to divide the 8xc3x978 arrays into predicted 8xc3x978 arrays and unpredicted 8xc3x978 arrays by manipulating each of the 8xc3x978 arrays according to predetermined criteria and comparing each of the manipulated 8xc3x978 arrays to a predetermined set of compressed 8xc3x978 array standards; means for assigning a selected one of a plurality of compressed 8xc3x978 arrays to each of the predicted 8xc3x978 arrays based upon the comparisons made by the inference engine; and the discrete cosine transform engine further including means for transforming the unpredicted 8xc3x978 arrays into compressed 8xc3x978 arrays; such that the digital image may be stored under the JPEG image data in which assigning the selected compressed 8xc3x978 array to the predicted 8xc3x978 array generally appears as though the predicted 8xc3x978 array was compressed by the transforming means.
In an alternatively preferred embodiment, the present invention is embodied in a data compression system for transforming a data set between an compressed standard in which the data set when stored on a storage media under the compressed standard require less space than the data set when stored under the uncompressed standard. The system includes a discrete cosine transform engine including means for selectively apportioning the data set when uncompressed into a plurality of uncompressed blocks; an inference engine adapted to divide the blocks into predicted blocks and unpredicted blocks by manipulating each of the blocks according to predetermined criteria and comparing each of the manipulated blocks to a predetermined set of compressed block standards; means for assigning a selected one of a plurality of compressed blocks to each of the predicted blocks based upon the comparisons made by the inference engine; the discrete cosine transform engine further including means for transforming the unpredicted blocks into compressed blocks; such that the data set may be stored under the compressed standard in which assigning the selected compressed block to the predicted block generally appears as though the predicted block was compressed by the transforming means; means for operating the discrete cosine engine, inference engine and means of assigning to transform the data set from the compressed standard to the uncompressed standard.
In yet another preferred embodiment, the present invention is embodied in a data compression system for transforming a data set from an uncompressed standard to a compressed standard in which the data set when stored on a storage media under the compressed standard requires less space than the data set when stored under the uncompressed standard. The system comprises a discrete cosine transform engine including means for apportioning the data set when uncompressed into a plurality of uncompressed blocks; an inference engine adapted to divide the blocks into predicted blocks and unpredicted blocks by manipulating each of the blocks according to predetermined criteria and comparing each of the manipulated blocks to a predetermined set of compressed block standards; means for assigning a selected one of a plurality of compressed blocks to each of the predicted blocks based upon the comparisons made by the inference engine; and the discrete cosine transform engine further including means for transforming the unpredicted blocks into compressed blocks; the inference engine including means: for dividing the blocks into sub-blocks and means for predicting certain combinations that appear regularly in side a sub-block; such that the data set may be stored under the compressed standard in which assigning the selected compressed block to the predicted block generally appears as though the predicted block was compressed by the transforming means.